<%@ page import="br.com.unip.modelo.Funcionario,br.com.unip.persistencia.FuncionarioDao"%>
<%@ page import="java.sql.Date;" %>

<%
try {
	String action = request.getParameter("action");
	if(action.equalsIgnoreCase("cadastrar")){
		Funcionario f = new Funcionario();
		FuncionarioDao fd = new FuncionarioDao();
		f.setNome(request.getParameter("nome"));
		f.setDataNascimento(Date.valueOf(request.getParameter("dta_nasc")));
		f.setSalario(Float.parseFloat(request.getParameter("salario")));
		f.setNumeroDepartamento(Integer.parseInt(request.getParameter("nro_depto")));
		f.setCodigoSupervisor(Integer.parseInt(request.getParameter("cod_superv")));
		try {
			fd.gravar(f);
			request.setAttribute("msg", "Registro salvo com sucesso!");
			request.getRequestDispatcher("index.jsp").forward(request, response);
		} catch (Exception e) {
			out.print("Erro : " + e.getMessage());
		}
	}
	else if(action.equalsIgnoreCase("deletar")){
		Integer id = Integer.parseInt(request.getParameter("id"));
		try {
			Funcionario f = new Funcionario();
			FuncionarioDao fd = new FuncionarioDao();
			fd.deletar(id);	
			request.setAttribute("msg", "Registro deletado com sucesso!");
			request.getRequestDispatcher("index.jsp").forward(request, response);
		} catch (Exception e) {
			out.print("Erro : " + e.getMessage());
		}
	}
	else if(action.equalsIgnoreCase("atualizar")){
		Integer id = Integer.parseInt(request.getParameter("id"));
		Funcionario f = new Funcionario();
		FuncionarioDao fd = new FuncionarioDao();
		f.setNome(request.getParameter("nome"));
		f.setDataNascimento(Date.valueOf(request.getParameter("dta_nasc")));
		f.setSalario(Float.parseFloat(request.getParameter("salario")));
		f.setNumeroDepartamento(Integer.parseInt(request.getParameter("nro_depto")));
		f.setCodigoSupervisor(Integer.parseInt(request.getParameter("cod_superv")));
		f.setCod_func(Integer.parseInt(request.getParameter("id")));
		try {
			fd.atualizar(f);
			request.setAttribute("msg", "Registro atualizado com sucesso!");
			request.getRequestDispatcher("index.jsp").forward(request, response);
		} catch (Exception e) {
			out.print("Erro : " + e.getMessage());
		}
	}
} catch (NullPointerException npe){
	out.print("Dados inconsistentes" + npe);
} catch (Exception e) {
	out.print("Dados inconsistentes" + e);
}
%>